package cn.wzut.edut.controller;

import cn.wzut.edut.jwt.PassToken;
import cn.wzut.edut.pojo.JsonResult;
import cn.wzut.edut.jwt.JWTUtils;
import com.auth0.jwt.interfaces.DecodedJWT;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * 测试控制层（废弃）
 * 用apifox进行测试
 */
@RestController()
@RequestMapping("/debug")
public class DebugController {

    // 调试页面请求
    @PassToken
    @RequestMapping()
    public String debug(String pwd){
        if(pwd.equals("ArmstrongDenisebOMO1210")){
            // 渲染调试页面
            StringBuilder sb = new StringBuilder("<head><title>调试信息页面</title></head><body><center><h2>调试信息页面（项目开发阶段完成后关闭）</h2></center>") ;
            // 非业务逻辑调试列表
            sb.append("<p>--非业务逻辑调试--</p><ul>");
            sb.append("<li><a href='/debug/test'>get请求测试</a></li>");
            // 业务逻辑调试列表
            sb.append("</ul><p>--业务逻辑调试--</p><ul>");
            sb.append("<li><a href='/stulogin'>登陆接口（当然现在是没用的）</a></li>");
            // 网页信息
            sb.append("</ul><br><br><center style='background-color: #4d4d4d;'><div style='height:66px;vertical-align:middle;display:table-cell;color: #a5a5a5;'>Designed by <img src='https://i.ibb.co/B34KhNT/20220709093419.jpg' style='width: 8%;vertical-align:middle;'> Deniseb in wzut ⭐ 2022</div></center></body>");
            return sb.toString();
        }
        else
            return null;
    }

    @PassToken
    @RequestMapping("/test")
    public JsonResult getTest(){
        return new JsonResult(1,"get请求成功");
    }

    @PassToken
    @RequestMapping("/token")
    public JsonResult getToken(){
        Map<String, String> payload = new HashMap<>();
        payload.put("userid", "10086");
        payload.put("end", "B");
        // jwt token生成
        String token = JWTUtils.getToken(payload);
        DecodedJWT decode = JWTUtils.decode(token);

        return new JsonResult(decode.getClaim("userid").asString());
    }

}
